package com.irdstudio.efp.limit.service.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.irdstudio.efp.limit.service.domain.LmtPrelistSendRecord;
import com.irdstudio.efp.limit.service.vo.LmtPrelistSendRecordVO;

/**
 * <p>
 * 预授信名单信息发送记录表的DAO类
 * </p>
 * @author szbd
 * @createDate 2018-07-17 15:45:42
 */
public interface LmtPrelistSendRecordDao {
    
    /**
     * 插入预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public int insertLmtPrelistSendRecord(LmtPrelistSendRecord lmtPrelistSendRecord);
    
    /**
     * 根据主键删除预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public int deleteLmtPrelistSendRecordByPk(LmtPrelistSendRecord lmtPrelistSendRecord);
    
    /**
     * 根据主键更新预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public int updateLmtPrelistSendRecordByPk(LmtPrelistSendRecord lmtPrelistSendRecord);
    
    /**
     * 根据主键查询预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public LmtPrelistSendRecord queryLmtPrelistSendRecordByPk(LmtPrelistSendRecord lmtPrelistSendRecord);
    
    /**
     * 条件查询单笔预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public LmtPrelistSendRecord querySingleLmtPrelistSendRecordByCondition(LmtPrelistSendRecord lmtPrelistSendRecord);
    
    /**
     * 查询预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public List<LmtPrelistSendRecord> queryLmtPrelistSendRecordByCondition(LmtPrelistSendRecordVO lmtPrelistSendRecordVo);
    
    /**
     * 条件分页查询预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public List<LmtPrelistSendRecord> queryLmtPrelistSendRecordByConditionByPage(LmtPrelistSendRecordVO lmtPrelistSendRecordVo);
    
    /**
     * 查询本人所属的记录
     * @param lmtPrelistSendRecordVo
     * @return
     */
    public List<LmtPrelistSendRecord> queryAllOwnerByPage(LmtPrelistSendRecordVO lmtPrelistSendRecordVo);
    
    /**
     * 查询本机构的记录
     * @param lmtPrelistSendRecordVo
     * @return
     */
    public List<LmtPrelistSendRecord> queryAllCurrOrgByPage(LmtPrelistSendRecordVO lmtPrelistSendRecordVo);
    
    /**
     * 查询本机构及下属机构的记录
     * @param lmtPrelistSendRecordVo
     * @return
     */
    public List<LmtPrelistSendRecord> queryAllCurrDownOrgByPage(LmtPrelistSendRecordVO lmtPrelistSendRecordVo);
    
    /**
     * 根据传入参数删除预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public int deleteLmtPrelistSendRecord(LmtPrelistSendRecord lmtPrelistSendRecord);
    
    /**
     * 批量插入预授信名单信息发送记录表记录
     * @param lmtPrelistSendRecord
     * @return
     */
    public int batchInsertLmtPrelistSendRecord(@Param("lmtPrelistSendRecords")List<LmtPrelistSendRecord> lmtPrelistSendRecords);
    
    /**
     * 
     * @Description 查询biz_date
     * @param lmtPrelistSendRecord
     * @return
     */
    public LmtPrelistSendRecord querySendRecordOfBizDate(LmtPrelistSendRecord lmtPrelistSendRecord);
}